定位和测量

PCB 小方格对齐情况检测

返回案例列表

资源下载

打开解决方案文件之前,请先阅读 如何查看案例

问题描述

如何检测PCB上小方格的对齐情况?

原始问题图片

效果图展示

效果图

效果图

解答思路

使用灵闪中的“多模板定位”工具,设置模板找到完整的方块。可以得到方块的中心点和倾斜角度。 参数如下图

插图1

定位后的效果图:

插图2

使用灵闪中的“点阵排序”工具,“待排序点”选择“多模板定位:中心”,得到排序的矩阵。可以打开“补全缺失点”自动“-1”补齐矩阵

插图3

插图4

使用“矩阵计算”工具,可以自己写python脚本实现,角度和排列是否整齐的筛选

插图5

    import numpy as np

    img = [图像增强.输出图像]
    sort_index = [点阵排序.序号列表]
    sort_xy = [点阵排序.序号矩阵]
    box_center_list = [多模板定位.中心]
    box_angle_list = [多模板定位.角度]

    # 找到角度不齐的box
    angle_mean = sum(box_angle_list) / len(box_angle_list)
    angle_wrong_list = []
    for index in sort_index:
    index = int(index)
    angle = box_angle_list[index]
    if not angle_mean - 2 < angle < angle_mean + 2:
        angle_wrong_list.append(index)

    for index in angle_wrong_list:
    x = int(box_center_list[index * 2])
    y =int(box_center_list[index * 2 + 1])
    img[(y-5):(y+5), (x-5):(x+5)] = [0,0,255]
    Result = img